package com.cidp.system.dao.impl;

import com.cidp.system.dao.IAfficheDao;
import com.cidp.system.model.Taffiche;
import com.cidp.system.pojo.AffichePo;
import com.litt.core.dao.BaseDaoImpl;
import com.litt.core.page.IPageList;
import com.litt.core.page.PagePoParam;
import com.litt.core.common.Utility;

/**
 * <b>标题：</b>系统公告管理DAO实现.
 * 
 * <pre>
 * &lt;b&gt;描述&lt;/b&gt;
 *    系统公告管理
 * </pre>
 * 
 * @author lijian
 * @since 2008-5-23
 * @version 1.0
 */
public class AfficheDaoImpl extends BaseDaoImpl implements IAfficheDao {

	/**
	 * 读取系统公告信息
	 * 
	 * @param affId 系统公告ID
	 * @return Taffiche对象
	 */
	public Taffiche loadById(Long affId){
		return (Taffiche) super.loadObject(Taffiche.class, affId);
	}

	/**
	 * 删除系统公告信息.
	 * 
	 * @param affiche 系统公告对象
	 */
	public void deleteAffiche(Taffiche affiche){
		super.deleteObject(affiche);
	}

	/**
	 * 保存系统公告信息.
	 * 
	 * @param affiche 系统公告对象
	 * @return 主键
	 */
	public Long saveAffiche(Taffiche affiche){
		return super.saveObject(affiche);
	}

	/**
	 * 更新系统公告信息.
	 * 
	 * @param affiche 系统公告对象
	 */
	public void updateAffiche(Taffiche affiche){
		super.updateObject(affiche);
	}
	
	/**
	 * 分页查询系统公告信息.
	 * 
	 * @param pagePoParam 查询参数
	 * @return IPageList IPageList对象
	 */
	public IPageList listByPage(PagePoParam pagePoParam) {
		AffichePo affichePo = (AffichePo) pagePoParam.getConds();
		StringBuffer listHql = new StringBuffer("from Taffiche where 1=1");
		StringBuffer listCountHql = new StringBuffer("select count(*) from Taffiche where 1=1");
		StringBuffer condition = new StringBuffer("");
		if(affichePo.getType() != null){
			condition.append(" and type=");
			condition.append(affichePo.getType());
		}
		if(affichePo.getValidDays() != null){
			condition.append(" and validDays=");
			condition.append(affichePo.getValidDays());
		}
		if(! Utility.isEmpty(affichePo.getTitle())){
			condition.append(" and title=");
			condition.append(affichePo.getTitle());
		}
		listHql.append(condition);
		listCountHql.append(condition);
		return super.listHqlPage(listHql.toString(), listCountHql.toString(),pagePoParam.getPageIndex(), pagePoParam.getPageSize());
	}
}
